2023/12/234161字符

package 解析

package.json
{
    "name": "project-name",  // 必须小于等于214个字符,不能以.或_开头,不能有大写字母
    "version":"1.0.0",  // 版本号
    "description": "antd-theme",  // 描述信息,有助于人们在 npm 库中搜索的时候发现你的模块
    "keywords":["node.js","antd", "theme"],  // 关键词,类似于 SEO 优化
    "homepage": "https://zhiqianduan.com",  // 项目主页地址
    "bugs":{"url":"http://path/to/bug","email":"yindong@xxxx.com"},  // 用于项目问题的反馈issue地址或者一个邮箱
    "license": "ISC",  // 是当前项目的协议
    "author": "bozai 1781926993@qq.com (http://hpyyb.cn/)",  // 当前项目的共享者
    "contributors": [ // 当前项目的共享者
        {"name":"bozai","email":"1781926993@qq.com"}
    ],
    "files": [],  // 包含文件
    "main": "main.js",  // 入口文件
    "bin": {
        "webpack": "bin/index.js",  // 指定每个内部命令对应的可执行文件的位置
        // 在模块以依赖的方式被安装,如果存在bin选项。在node_modules/.bin/生成对应的文件,Npm会寻找这个文件,在node_modules/.bin/目录下建立符号链接。
        // 由于node_modules/.bin/目录会在运行时加入系统的PATH变量,因此在运行npm时,就可以不带路径,直接通过命令来调用这些脚本。
    }
    "man": ["./doc/calc.1"],  // 指定当前模块的man文档的位置
    "directories": "",  // 制定一些方法来描述模块的结构, 用于告诉用户每个目录在什么位置
    "repository": {  // 指定一个代码存放地址,对想要为你的项目贡献代码的人有帮助
        "type": "git",
        "url": "https://path/to/url"
    },
    "scripts": {  // 运行脚本命令的npm命令行缩写
      "start": "node server.js"
    },
    "config": {  // 添加命令行环境变量  process.env.npm_package_config_port --> 8080
        "port" : "8080"
    },
    "dependencies": {},  // 项目运行所依赖的模块
    "devDependencies": {  // 项目开发所需要的模块
        "@babel/core": "^7.14.3",
        "@babel/preset-env": "^7.14.4",
        "@babel/preset-react": "^7.13.13",
        "babel-loader": "^8.2.2",
        "babel-plugin-import": "^1.13.3",
        "glob": "^7.1.7",
        "less": "^3.9.0",
        "less-loader": "^9.0.0",
        "style-loader": "^2.0.0",
        "webpack": "^5.38.1",
        "webpack-cli": "^4.7.0",
        "webpack-dev-server": "^3.11.2"
    },
    "peerDependencies": {  // 当我们开发一个模块的时候,如果当前模块与所依赖的模块同时依赖一个第三方模块,并且依赖的是两个不兼容的版本时就会出现问题
        "tea": "2.x"
    },
    "bundledDependencies": [  // 指定发布的时候会被一起打包的模块
        "renderized", "super-streams"
    ],
    "engines": {  // 指明了该模块运行的平台,比如 Node 或者 npm 的某个版本或者浏览器	
        "node" : ">=0.10.3 <0.12",
        "npm" : "~1.0.20"
    },
    "os" : [ "win32", "darwin", "linux" ],  // 可以指定你的模块只能在哪个操作系统上运行
    "cpu" : [ "x64", "ia32" ],  // 限制模块只能在某种架构的cpu下运行
    "private": false,  // 为 true 时 npm 将拒绝发布,为了防止一个私有模块被无意间发布出去
    "publishConfig": {  // 这个配置是会在模块发布时生效,用于设置发布用到的一些值的集合。如果你不想模块被默认标记为最新的,或者默认发布到公共仓库,可以在这里配置tag或仓库地址
        "tag": "1.0.0",
        "registry": "https://registry.npmjs.org/",
        "access": "public"
    },
    "preferGlobal": "true",  // 表示当用户不将该模块安装为全局模块时(即不用–global参数),要不要显示警告,表示该模块的本意就是安装为全局模块
    "browser": {  // 指定该模板供浏览器使用的版本。Browserify这样的浏览器打包工具,通过它就知道该打包那个文件
        "tipso": "./node_modules/tipso/src/tipso.js"
    },
 }